package com.empire.module.rainbow.service.diytemplate;

import javax.validation.*;

import com.empire.module.rainbow.controller.app.diy.vo.AppRainbowDiyTemplatePageReqVO;
import com.empire.module.rainbow.controller.app.diy.vo.AppRainbowDiyTemplateSaveReqVO;
import com.empire.module.rainbow.dal.dataobject.diytemplate.RainbowDiyTemplateDO;
import com.empire.framework.common.pojo.PageResult;

/**
 * 六彩-装修模板 Service 接口
 *
 * @author  wudi
 */
public interface RainbowDiyTemplateService {

    /**
     * 创建六彩-装修模板
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createDiyTemplate(@Valid AppRainbowDiyTemplateSaveReqVO createReqVO);

    /**
     * 更新六彩-装修模板
     *
     * @param updateReqVO 更新信息
     */
    void updateDiyTemplate(@Valid AppRainbowDiyTemplateSaveReqVO updateReqVO);

    /**
     * 删除六彩-装修模板
     *
     * @param id 编号
     */
    void deleteDiyTemplate(Long id);

    /**
     * 获得六彩-装修模板
     *
     * @param id 编号
     * @return 六彩-装修模板
     */
    RainbowDiyTemplateDO getDiyTemplate(Long id);

    /**
     * 获得六彩-装修模板分页
     *
     * @param pageReqVO 分页查询
     * @return 六彩-装修模板分页
     */
    PageResult<RainbowDiyTemplateDO> getDiyTemplatePage(AppRainbowDiyTemplatePageReqVO pageReqVO);
    /**
     * 获取使用中的装修模板
     *
     * @return 装修模板
     */
    RainbowDiyTemplateDO getUsedDiyTemplate();
}
